package com.rede.didiok.user.entity;

import lombok.Data;
import org.springframework.beans.factory.parsing.Problem;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.rede.didiok.common.dto.community.MomentCommentDto;
import com.rede.didiok.common.dto.community.UserMomentDto;
import com.rede.didiok.common.dto.rank.MemberCommentDto;
import com.rede.didiok.common.dto.rank.RankMemberDto;
import com.rede.didiok.common.entity.SuperEntity;

/**
 * 通知表
 * 
 * @author Rede
 * @email didiok@foxmail.com
 * @date 2023-08-07 18:21:17
 */
@Data
@TableName("u_notice")
public class NoticeEntity extends SuperEntity<NoticeEntity> {
	private static final long serialVersionUID = -8364332549238629293L;

	/**
	 * 创建人uid
	 */
	private String createUserUid;

	/**
	 * 创建人名称
	 */
	private String createUserName;
	/**
	 * 管理员uid
	 */
	private String adminUid;
	/**
	 * 通知状态：0:已创建，1:已查看
	 */
	private Integer noticeStatus;
	/**
	 * 通知类型
	 */
	private Integer noticeType;
	/**
	 * 通知内容
	 */
	private String content;
	/**
	 * 业务uid
	 */
	private String businessUid;
	/**
	 * 业务类型 【博客，问答，评论】
	 */
	private Integer businessType;

	/**
	 * 是否前台通知 【0 前台  1 后台】
	 */
	private Integer isBack;

	/**
	 * 該消息通知是由誰的操作生成的
	 */
	private String fromUserUid;

	// 以下字段在数据库中不存在

	/**
	 * 博客
	 */
	@TableField(exist = false)
	private RankMemberDto rankMember;

	/**
	 * 动态
	 */
	@TableField(exist = false)
	private UserMomentDto userMoment;

	/**
	 * 评论
	 */
	@TableField(exist = false)
	private MemberCommentDto memberComment;
	/**
	 * 评论
	 */
	@TableField(exist = false)
	private MomentCommentDto momentComment;
	/**
	 * 关注
	 */
	@TableField(exist = false)
	private UserWatchEntity userWatch;

	/**
	 * 问题
	 */
	@TableField(exist = false)
	private Problem problem;

	/**
	 * 谁给你发的通知
	 */
	@TableField(exist = false)
	private UserEntity fromUser;

	/**
	 *业务类型名称 【博客，问答，评论】
	 */
	@TableField(exist = false)
	private String businessTypeName;

	/**
	 * 用户信息
	 */
	@TableField(exist = false)
	private UserEntity user;

}
